package com.snopy.designPattern.create.prototype;

import lombok.Getter;
import lombok.Setter;

/**
 * @author snopy
 * @version 1.0.0
 * @classname Paper
 * @description
 * @email 77912204@qq.com
 * @date 2022/03/02 12:35
 */
@Setter
@Getter
public abstract class Paper implements Cloneable{
    private String id;
    protected String type;
    protected Integer size;
    protected String name;
    @Override
    public Paper clone() {
        try {
            Paper clone = (Paper) super.clone();
            // TODO: copy mutable state here, so the clone can't change the internals of the original
            return clone;
        } catch (CloneNotSupportedException e) {
            throw new AssertionError();
        }

    }
    public abstract void record();
}
